Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift (2015 论文)
概述
Sergey Ioffe 与 Christian Szegedy 于 2015 年发表的论文,提出 Batch Normalization 技术,解决深度网络训练中的内部协变量偏移问题,使训练速度提升 14 倍。
关键内容
- 核心问题:深度网络训练极其脆弱——学习率稍大则梯度爆炸发散,稍小则收敛极慢;对权重初始化极度敏感;Sigmoid 激活函数存在饱和区问题。
- 核心方法:对每个 mini-batch 计算均值和方差,做归一化后引入可学习参数 γ(缩放)和 β(平移),让网络自行决定每层需要的分布。公式:$y_i = \gamma \frac{x_i - \mu_\mathcal{B}}{\sqrt{\sigma_\mathcal{B}^2 + \epsilon}} + \beta$
- 训练/推理差异:训练时使用当前 batch 统计量(引入正则化噪声),推理时使用训练过程中累积的滑动平均统计量。
- 实验结果:MNIST 上收敛快 14 倍;ImageNet 上 BN-Inception Top-5 错误率 4.82%(超越当时人类表现 5.1%);可使用大 100 倍的学习率而不发散。
-
理论争议:论文声称有效原因是减少"内部协变量偏移",但 2018 年 MIT 后续研究表明 BN 并没有显著减少内部协变量偏移,真正原因是让优化景观(loss landscape)更加平滑——使梯度方向更稳定,更容易优化。
-
归一化变体启发:BN 启发了一系列归一化方法——Layer Normalization(沿 C×H×W,适合 Transformer)、Instance Normalization(沿 H×W,适合风格迁移)、Group Normalization(沿 group 内 C×H×W,适合小 batch size 目标检测)。
来源
- raw/articles/ai-papers/foundations/paper_04_batchnorm.md — 论文精读 #04:批归一化
相关
- Batch Normalization — describes
- Sergey Ioffe — authored_by
- Christian Szegedy — authored_by
- GoogLeNet: Inception — extends(在同一架构上验证 BN 效果)
- 内部协变量偏移 — describes